package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 出入管理对象 ev_entry_exit
 * 
 * @author Camelminger
 * @date 2025-11-10
 */
public class EvEntryExit extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 出入记录ID */
    private Long recordId;

    /** 电动车ID */
    @Excel(name = "电动车ID")
    private Long vehicleId;

    /** 人员ID */
    @Excel(name = "人员ID")
    private Long personId;

    /** 进入时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "进入时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date entryTime;

    /** 离开时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "离开时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date exitTime;

    /** 进入校门 */
    @Excel(name = "进入校门")
    private String entryGate;

    /** 离开校门 */
    @Excel(name = "离开校门")
    private String exitGate;

    /** 验证方式（扫码/人工） */
    @Excel(name = "验证方式", readConverterExp = "扫=码/人工")
    private String method;

    /** 是否触发报警（0否 1是） */
    @Excel(name = "是否触发报警", readConverterExp = "0=否,1=是")
    private Integer isAlert;

    public void setRecordId(Long recordId) 
    {
        this.recordId = recordId;
    }

    public Long getRecordId() 
    {
        return recordId;
    }

    public void setVehicleId(Long vehicleId) 
    {
        this.vehicleId = vehicleId;
    }

    public Long getVehicleId() 
    {
        return vehicleId;
    }

    public void setPersonId(Long personId) 
    {
        this.personId = personId;
    }

    public Long getPersonId() 
    {
        return personId;
    }

    public void setEntryTime(Date entryTime) 
    {
        this.entryTime = entryTime;
    }

    public Date getEntryTime() 
    {
        return entryTime;
    }

    public void setExitTime(Date exitTime) 
    {
        this.exitTime = exitTime;
    }

    public Date getExitTime() 
    {
        return exitTime;
    }

    public void setEntryGate(String entryGate) 
    {
        this.entryGate = entryGate;
    }

    public String getEntryGate() 
    {
        return entryGate;
    }

    public void setExitGate(String exitGate) 
    {
        this.exitGate = exitGate;
    }

    public String getExitGate() 
    {
        return exitGate;
    }

    public void setMethod(String method) 
    {
        this.method = method;
    }

    public String getMethod() 
    {
        return method;
    }

    public void setIsAlert(Integer isAlert) 
    {
        this.isAlert = isAlert;
    }

    public Integer getIsAlert() 
    {
        return isAlert;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("recordId", getRecordId())
            .append("vehicleId", getVehicleId())
            .append("personId", getPersonId())
            .append("entryTime", getEntryTime())
            .append("exitTime", getExitTime())
            .append("entryGate", getEntryGate())
            .append("exitGate", getExitGate())
            .append("method", getMethod())
            .append("isAlert", getIsAlert())
            .append("remark", getRemark())
            .toString();
    }
}
